昨天示範了如何讓整個 Controller 或是指定的 Action 需要登入才可以瀏覽,今天開始規劃將身分驗證功能加入到活動系統的流程,以及慢慢用程式碼去實現功能。
瀏覽該活動頁面,並點擊「活動報名」後,系統先判斷是否已登入
判斷當下時間是否在該活動開放報名時間範圍內
判斷已報名人數是否等於開放報名人數名額
已報名活動資訊可在會員中心瀏覽
再次點選該活動頁面時,後端比對該使用者資料與該活動報名資料,若比對符合一對一資料,則畫面顯示「取消報名」
首先需要再建立一個 Model, Table 來儲存已報名使用者的資料:
public class EventsEnroll
{
public int Id { get; set; }
[StringLength(50)]
public string ApplicationUserId { get; set; }
[Column(TypeName = "datetime2")]
public DateTime EnrollTime { get; set; }
public Events Events { get; set; }
public ICollection<ApplicationUser> ApplicationUser { get; set; }
}
加入此段程式碼:
public ICollection<EventsEnroll> EventsEnroll { get; set; } // 一對多
加入此段程式碼:
public ICollection<EventsEnroll> EventsEnroll { get; set; }
接著執行 dotnet ef migrations add
來新增 Migrations 以及 dotnet ef database update
加入以下此段:
public DbSet<EventsEnroll> EventsEnroll { get; set; }
今天將活動報名所需的 Table 都新增以及修改完成了,明天會著手在 Repository 與 Controller 的部分。
那麼明天見~